package com.sec.etech.form.cust.util;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.openbpm.sys.util.ContextUtil;

import java.util.Date;

public class FormDefDataUtil {

    public static JSONObject checkCommonUpdateDate(JSONObject itemJson) {
        if (itemJson != null) {
            if (!itemJson.containsKey("postuid")) {
                itemJson.put("postuid", ContextUtil.getCurrentUserId());
            }
            if (!itemJson.containsKey("postdate")) {
                itemJson.put("postdate", new Date());
            }
            itemJson.put("lastuid", ContextUtil.getCurrentUserId());
            itemJson.put("lastdate", new Date());
            for (String key : itemJson.keySet()) {
                if (itemJson.get(key) instanceof JSONObject) {
                    itemJson.put(key, checkCommonUpdateDate(itemJson.getJSONObject(key)));
                }
                if (itemJson.get(key) instanceof JSONArray) {
                    JSONArray jsonArray = itemJson.getJSONArray(key);
                    JSONArray newjsonArray = new JSONArray();
                    for (Object obj : jsonArray) {
                        JSONObject jsonObject = checkCommonUpdateDate(JSONObject.parseObject(obj.toString()));
                        newjsonArray.add(jsonObject);
                    }
                    itemJson.put(key, newjsonArray);
                }
            }
        }
        return itemJson;
    }
}
